/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package trabajo.seguridad;

import clases.domain.Empleado;
import ejb.session.MantenedoresLocal;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.ManagedProperty;
import javax.faces.context.FacesContext;
import trabajo.empleado.EmpleadoMB;

/**
 *
 * @author Hector
 */
@ManagedBean
@RequestScoped
public class LoginMB implements Serializable{

    private String nombreUsuario;
    private String password;

    @ManagedProperty(value="#{empleadoMB}")
    private EmpleadoMB empleadoMB;

    @EJB private MantenedoresLocal mantenedorEjb;

    public String autenticarUsuario(){
        System.out.println ("nombreUsuario"+nombreUsuario);
        System.out.println ("password"+password);
        Empleado empleado =new Empleado();
        empleado.setNombreUsuario(nombreUsuario);
        empleado.setPassword(password);
        Empleado empleadoAutenticado = mantenedorEjb.login(empleado);
        if (empleadoAutenticado!= null && empleadoAutenticado.getNombre() != null) {
            empleadoMB.setEmpleado(empleadoAutenticado);
            return "index.xhtml";
        } else {
            FacesContext context = FacesContext.getCurrentInstance();
            context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error", "Autenticación Incorrecta"));
            return null;
        }
    }

    /**
     * @return the nombreUsuario
     */
    public String getNombreUsuario() {
        return nombreUsuario;
    }

    /**
     * @param nombreUsuario the nombreUsuario to set
     */
    public void setNombreUsuario(String nombreUsuario) {
        this.nombreUsuario = nombreUsuario;
    }

    /**
     * @return the password
     */
    public String getPassword() {
        return password;
    }

    /**
     * @param password the password to set
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * @return the empleadoMB
     */
    public EmpleadoMB getEmpleadoMB() {
        return empleadoMB;
    }

    /**
     * @param empleadoMB the empleadoMB to set
     */
    public void setEmpleadoMB(EmpleadoMB empleadoMB) {
        this.empleadoMB = empleadoMB;
    }

}
